Automatic provisioning based on communication network connectivity and characteristics

ABSTRACT

A communication device and/or applications capable of facilitating communication through different networks are automatically provisioned based on recognition of network environment including network connectivity and characteristics. A user&#39;s multiple identities for different networks with varying capabilities and features are accommodated by detecting and prioritizing available network(s), then provisioning the device to enable the user to communicate through one or more of those networks. Communication types and media may vary depending on network type such as cellular, VOIP, and so on. The device may be configured to scan for new networks automatically periodically or based on location change, time change, etc.

BACKGROUND

With the proliferation of mobile devices and diversification ofcommunication applications, users of computing devices are accessiblethrough many communication modes. Electronic mail, text messaging,voicemail, video communication are just a few examples of communicationthat may be established through a variety of stationary (e.g. desktop)and mobile (e.g. handheld) computing devices. Moreover, many devices arecapable of facilitating multiple modes of communication through avariety of networks. Voice Over Internet Protocol (VOIP) enabled phonesare one example of such devices. User can talk over cellular networks,Wireless Local Area Networks (WLANs), or even wired networks throughthese devices.

Multi-modal communication devices are in many cases portable and aremoved around by users exposing them to various networks. For example, adevice capable of handling VOIP and cellular communications may be inrange of a home network and the cellular network at the home of theuser, in range of only the cellular network at another location, and inrange of an enterprise wireless network at the work place of the userwith each of these networks having different characteristics, permissionrules, etc. Many users today tend to have multiple devices for use withdifferent networks each set up differently.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended asan aid in determining the scope of the claimed subject matter.

Embodiments are directed to enabling users to communicate throughdifferent communication networks while the communicationdevice/application automatically acquires or discovers informationneeded to use services on a given network based on network connectivityand characteristics such that communications can be facilitated throughdifferent networks in different locations.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory onlyand are not restrictive of aspects as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates example networked communication environments;

FIG. 2 illustrates an example multi-mode communication device;

FIG. 3 is a conceptual diagram illustrating example automaticprovisioning and re-provisioning of a multi-mode device based onconnectivity and characteristics of different networks;

FIG. 4 is an example networked environment, where embodiments may beimplemented;

FIG. 5 is a block diagram of an example computing operating environment,where embodiments may be implemented; and

FIG. 6 illustrates a logic flow diagram for a process of automaticallyprovisioning a communication device/application based on networkconnectivity and characteristics.

DETAILED DESCRIPTION

As briefly described above, a device and/or application for providingcommunication over various networks may be automatically provisioned andre-provisioned based on available network(s) and networkcharacteristics. Provisioning, as referred to herein, is the process ofacquiring or discovering information needed to utilize services on agiven network associating user and device data with network resourcesand class of services, referred to as a profile. In the followingdetailed description, references are made to the accompanying drawingsthat form a part hereof, and in which are shown by way of illustrationsspecific embodiments or examples. These aspects may be combined, otheraspects may be utilized, and structural changes may be made withoutdeparting from the spirit or scope of the present disclosure. Thefollowing detailed description is therefore not to be taken in alimiting sense, and the scope of the present invention is defined by theappended claims and their equivalents.

While the embodiments will be described in the general context ofprogram modules that execute in conjunction with an application programthat runs on an operating system on a personal computer, those skilledin the art will recognize that aspects may also be implemented incombination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that embodiments may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like.Embodiments may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Embodiments may be implemented as a computer process (method), acomputing system, or as an article of manufacture, such as a computerprogram product or computer readable media. The computer program productmay be a computer storage media readable by a computer system andencoding a computer program of instructions for executing a computerprocess.

Referring to FIG. 1, three example networked communication environmentsare illustrated in diagram 100. While basic concepts of networkedcommunication environments are discussed in the example environments ofFIG. 1, other networked environments with additional or fewer features,components, and configurations may also be used to provide automaticprovisioning of a communication device or application based on theavailable networks.

Portable devices enabled with multiple communication modes are becomingwidely available. Users can have access to different services andresources at different locations (or different times of day) throughthese devices. Each device can run multiple communication applications(e.g. a cellular phone with Internet access may also run a VOIPapplication, an instant messaging application, and so on). Moreover,each user may have multiple devices that can execute the same ordifferent applications, and each user may have multiple identitiesdepending on the communication network used (even on the same network).

Networked environment 110 represents a home environment, where the usermay have access to a cellular network 111, a wireless home network(WLAN) 112, and a wired network 113. The user may access these networksthrough a variety of devices 115. Some of these devices may be capableof providing communications over multiple networks. In addition, theuser may have multiple identities such as a plurality of phone numbersthrough a VOIP service, a cellular service, and the like.

When the same user is at work environment 120, other networks may beaccessible in addition to some of the previous ones. For example, thecellular network 111 may still be available, but the WLAN 122 may be asecure enterprise network with limitations on what communicationapplications can be run (the enterprise network may not allow the VOIPapplication). Wired network 123 may be a yet different network withdistinct characteristics and capabilities. In work environment 120, adifferent VOIP application may be facilitated. So, the user couldpotentially have a VOIP identity for home use and another one for workuse, each with different access privileges and capabilities (e.g. workVOIP identity may not allow international calls, while home identity maybe associated with various call forwarding, voicemail, etc., featuresand allow all kinds of calls).

The third example environment 130 is a public environment such as aretail business with network access for its customers (e.g. and Internetcoffee shop). The cellular network 111 may still be available at thisenvironment in addition to a yet different WLAN 132 (open or secure),and another wired network. Each of these may again provide varyingaccess privileges and capabilities to communication devices 135.

The example communication devices (115, 125, and 135) may include anytype of computing device capable of executing one or more communicationapplications. These devices may be portable or stationary such as smartphones, personal digital assistants, laptop computers, desktopcomputers, and so on. The devices may be capable of wired or wireless(radio wave, optical, etc.) communication with available networks. Eachdevice has typically a user interface that includes components for userinput and audio-visual output to the user. One such example device isdescribed below in conjunction with FIG. 2.

According to a preferred embodiment, a communication device capable ofcommunicating through one or more networks is enabled to automaticallyprovision itself for operating through a detected network. Such a devicemay maintain a cache of profiles. When a new network is encountered, thedevice automatically (without user interaction) determines which profileis suitable for this new environment and activates that profile allowingavailable services such as voice communications, video communications,instant messaging, local PBX extensions, international calling features,and the like, to be provided to the user at that location.

An example operation of a device according to a preferred embodiment maybe as follows: (1) A network operator may provide data to the devicethrough existing methods, the end user may enter data on the device, andthe device may discover identity and services data from the network(using DHCP, MAC, FTP, HTTP, SIP, etc) upon detection of a new network.(2) Upon receiving a profile from the provisioning process, the devicemay store the profile in the profile cache; the device may index theprofile in a variety of ways depending on the characteristics of theprofile (network type, available services, etc.). (3) The deviceadministrator or local user (depending on policy) may have an option toprioritize these profiles. Prioritization may occur both globally ormore granularly (e.g. per requested service). Some prioritizationpossibilities may include user input (user choosing directly one profileover another), network characteristics (latency, physical medium such asWAN, cellular, etc, time of day, billing), and required service (localvs. long distance, PBX dialing, peer-to-peer, video capabilities, andthe like). (4) Upon new network detection the device may use the profilecache and prioritization scheme to automatically enable the appropriateservices without user intervention. These services may also be anaggregation of multiple profiles.

FIG. 2 illustrates an example multi-mode portable communication device240. As mentioned previously, devices that provide communication throughmultiple networks by automatically provisioning themselves may beportable or stationary and capable of executing multiple communicationapplications. However, portable devices are more likely to be bettersuitable for implementation of preferred embodiments.

The features described below for providing communication to a userthrough automatic provisioning may be implemented in any computingdevice including, but not limited to, a personal digital assistant, acellular phone, a laptop PC, a smart automobile console, and the like.

Portable communication device 240 is shown with many features. However,embodiments may be implemented with fewer or additional components.Example portable communication device 240 includes typical components ofa mobile device such as a hard keypad 242, specialized buttons(“function keys”) 244, display 246, and one or more indicators (e.g.LED) 248. Portable communication device 240 may also include a camera247 for video communications and microphone 245 for voicecommunications. Antenna 249 may be utilized for wireless communicationwith one or more networks. The device may also include multiple antennas(one for each type of network). Display 246 may be an interactivedisplay (e.g. touch sensitive) and provide soft keys as well.

Portable communication device 240 is capable of executing communicationapplications 252, 254, and 256 for different types of networks. Thesecommunication applications may range from typical phone communicationapplications (cellular, VOIP) to video communication, and even othertypes of communications such as download services (music, videos, etc.),network-based conference applications (e.g. Live Meeting® by MICROSOFTCORP. of REDMOND, WA), print server access, and the like. As one skilledin the art may recognize, each of these different types of communicationinvolve different resources on a network. In some cases, theavailability of resources on the same network may change based on anumber of factors (location, time, network load, etc.) and the portabledevice 240 may be configured to re-provision itself based on theavailability of resources on any given network.

FIG. 3 is a conceptual diagram illustrating example automaticprovisioning and re-provisioning of a multi-mode device based onconnectivity and characteristics of different networks with theirspecific features and characteristics.

A critical step in the operation of a multi-mode communication devicesuch as device 340 is initial setup 362, where some user involvement maybe necessary (entering user information, initial network parameters suchas encryption key, etc.). On the other hand, the initial set up may alsobe completely automated by the network detecting the device andproviding all necessary information to get the device activated.

As discussed above, device 340 may be capable of facilitatingcommunications through a plurality of networks. Some of these networksmay co-exist in the same location (e.g. a cellular network and a WLAN).In that case, a default or user preference prioritization may beemployed to determine which network is to be used. According to otherembodiments, the device may provide the user the choice of network whenthe user wants to initiate communication and accept incomingcommunications from all available networks.

The initial setup is followed by two related stepsconnectivity+environment recognition and automatic (re)provisioning 363for the first available network (364). Recognition of the networkenvironment may include detection and determination of factors such astime of day (or day of week), location (e.g. with the help of a GPSreceiver or network location signal), signal strength, characteristicsof available servers, and the like. Once device 340 detects availabilityof network 1 (364) for connectivity and recognizes the networkenvironment as one it can operate in, it may look up the provisioningparameters (physical and software parameters such as communicationchannel, device ID, communication application parameters, activatingavailable features, etc.) and provision itself automatically to enablecommunications using network 1. If multiple networks are available theautomatic provisioning may also include a determination of networkprioritization.

When network 2 (366) becomes available the connectivity+environmentrecognition and automatic (re)provisioning steps 365 may be performedfor this network in a similar fashion to the steps 363. Network 2 (366)may become available through a location change (user going to work fromhome), a time change (one network may be available only during certainperiods of the week or day), or another reason (e.g. network signalbecoming available). Whenever either one of the networks becomesavailable, device 340 may repeat the connectivity+environmentrecognition and automatic re-provisioning steps to take advantage of thenew network. While the parameters for automatic provisioning may all bestored in device 340, part of all of those may also be pushed to thedevice by the available network. Moreover, when two or more networks areavailable, the device 340 may retain a union of the functionality ofboth networks (e.g. if one network provides VOIP communication and theother not, the device may still retain the VOIP functionality).

To determine if a new network is available, device 340 may scanautomatically based on a period, a change in location, or anothertrigger mechanism (e.g. change in network signal strength). As mentionedabove, the user may have different identities for each network (or evenmultiple identities for a given network). Device 340 may be configuredto activate and employ one or more of those identities automatically oremploy some form of security mechanism (password, biometric, etc.) toensure security of the network and prevent unauthorized use of theuser's account(s).

A typical example for a portable communication device according toembodiments is a mobile phone with VOIP capability. When the userpurchases such as phone, it may configure itself for its cellularnetwork first. Then, the phone may be configured for VOIP operationthrough the user's home network by recognizing the network and minimalinput from the user (e.g. encryption key). After that, the phone mayrecognize the home network whenever it is in the home and provisionitself to facilitate communications through the home network. Similarly,the phone may recognize and provision itself for the work WLAN networkemploying the user's work identity (phone number) and provision itselffor that environment anytime the user is at work. Each of these networksmay have varying features and capabilities, but the user would not haveto reconfigure their phone each time they move from home to work andvice versa being able to communicate through the available network.Thus, a device according to a preferred embodiment is capable ofchanging its identity and capabilities in a fully automated manner(without any user interaction) when available networks change such asthe user taking the device from home to work or vice versa.

The prioritized communication systems, components, features, andscenarios in FIG. 1, FIG. 2, and FIG. 3 are exemplary for illustrationpurposes. A device for facilitating communication over multiple networksby automatic provisioning based on network connectivity andcharacteristics may be implemented using additional or fewer componentsand features using the principles described herein. Other scenarios andcommunication types are also possible in a system like the one describedhere.

FIG. 4 is an example networked environment, where embodiments may beimplemented. A system for facilitating communication over multiplenetworks by automatic provisioning based on network connectivity andcharacteristics may be implemented locally on a single computing deviceor in a distributed manner over a number of physical and virtual clientsand servers. The system may also be implemented in un-clustered systemsor clustered systems employing a number of nodes communicating over oneor more networks (e.g. network(s) 470, 480, 490, etc.).

Such a system may comprise any topology of servers, clients, Internetservice providers, and communication media. Also, the system may have astatic or dynamic topology. The term “client” may refer to a clientapplication or a client device. While a networked system implementingautomatic provisioning based on network connectivity and characteristicsmay involve many more components, relevant ones are discussed inconjunction with this figure.

Communication applications capable of automatically (re)provisioningbased on network connectivity and characteristics may be implemented inindividual client devices 440-1 through 440-4 or executed on a server(e.g. server 474) and accessed from anyone of the client devices (orapplications).

Each network associated with a system according to embodiments mayinclude a variety of unique components such as web server 472, cellulartower 484, and VOIP server 492 of networks 470, 480, and 490,respectively. On the other hand, some components such as database server476 and data stores 478 may be found in most networks as a commoncomponent.

Networks 470, 480, and 490 may include a secure network such as anenterprise network or a cellular network, an unsecure network such as awireless open network, or the Internet. Networks 470, 480, and 490provide communication between the nodes described herein. By way ofexample, and not limitation, networks 470, 480, and 490 may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, RF, infrared and other wireless media.

Many other configurations of computing devices, applications, datasources, data distribution systems may be employed to implement a systemaccording to embodiments. Furthermore, the networked environmentsdiscussed in FIG. 4 are for illustration purposes only. Embodiments arenot limited to the example applications, modules, or processes.

FIG. 5 and the associated discussion are intended to provide a briefgeneral description of a suitable computing environment in whichembodiments may be implemented. With reference to FIG. 5, a blockdiagram of an example computing operating environment is illustrated,such as computing device 500. In a basic configuration, the computingdevice 500 may be a portable communication device providingcommunication through a number of different networks and typicallyinclude at least one processing unit 502 and system memory 504.Computing device 500 may also include a plurality of processing unitsthat cooperate in executing programs. Depending on the exactconfiguration and type of computing device, the system memory 504 may bevolatile (such as RAM), non-volatile (such as ROM, flash memory, etc.)or some combination of the two. System memory 504 typically includes anoperating system 505 suitable for controlling the operation of anetworked personal computer, such as the WINDOWS® operating systems fromMICROSOFT CORPORATION of Redmond, Wash. The system memory 504 may alsoinclude one or more software applications such as program modules 506,communication application 1 (522), communication application 2 (524),and so on.

Communication applications 1 and 2 (522 and 524) may be separateapplications or integral modules of a hosted service that providecommunication through distinct networks while automatically provisioningthemselves based on network connectivity and characteristics when thenetworks are available. Computing device 500 may also execute a separateprioritization module (not shown) to prioritize the communicationapplications when more than one network is available, as describedpreviously. This basic configuration is illustrated in FIG. 5 by thosecomponents within dashed line 508.

The computing device 500 may have additional features or functionality.For example, the computing device 500 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 5 by removable storage 509 and non-removable storage510. Computer storage media may include volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Systemmemory 504, removable storage 509 and non-removable storage 510 are allexamples of computer storage media. Computer storage media includes, butis not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computingdevice 500. Any such computer storage media may be part of device 500.Computing device 500 may also have input device(s) 512 such as keyboard,mouse, pen, voice input device, touch input device, etc. Outputdevice(s) 514 such as a display, speakers, printer, etc. may also beincluded. These devices are well known in the art and need not bediscussed at length here.

The computing device 500 may also contain communication connections 516that allow the device to communicate with other computing devices 518,such as over a wireless network in a distributed computing environment,for example, an intranet or the Internet. Other computing devices 518may include server(s) that execute applications associated with a dataaccess and directory service. Communication connection 516 is oneexample of communication media. Communication media may typically beembodied by computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. The term “modulated data signal” means a signal that has one ormore of its characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media.

The claimed subject matter also includes methods. These methods can beimplemented in any number of ways, including the structures described inthis document. One such way is by machine operations, of devices of thetype described in this document.

Another optional way is for one or more of the individual operations ofthe methods to be performed in conjunction with one or more humanoperators performing some. These human operators need not be collocatedwith each other, but each can be only with a machine that performs aportion of the program.

FIG. 6 illustrates a logic flow diagram for process 600 of automaticallyprovisioning a communication device/application based on networkconnectivity and characteristics. Process 600 may be implemented in aportable communication device.

Process 600 begins with optional operation 602, where an initial setupis performed by the communication device. The initial setup may includesome or no user involvement. Processing advances from optional operation602 to decision operation 604.

At decision operation 604, a determination is made whether a new networkis detected. If no network is detected, the device (and thecommunication application(s)) may scan the environment periodically orbased on another trigger mechanism until a network is detected. If anetwork is detected, processing moves to operation 606.

At operation 606, network characteristics of the detected network aredetermined such as signal strength, available resources, etc. Processingmoves from operation 606 to optional operation 608.

At optional operation 608, a prioritization is performed if more thanone network is available. As discussed previously, a most preferrednetwork (based on default or user preferences) may be used or more thanone network may be made available to the user based on theprioritization. Processing advances from optional operation 608 tooperation 610.

At operation 610, the communication device (and applications) isprovisioned automatically applying stored or downloaded provisioningdata. Automatic provisioning may include setup of the device's physicalcharacteristics (transmission parameters, etc.) as well as softwareparameters (encryption, communication mode(s), activation of availablefeatures, etc.). Processing advances from operation 610 to optionaloperation 612.

At optional operation 612, communication is facilitated upon receivingan indication from the user to initiate communication or upon receipt ofan incoming communication request from the available network(s). Whilecommunication is made available through detected (and configured for)networks, a new network may yet be detected (due to location or timechange, etc.) followed by the operations 606-610. This is illustrated inthe figure by the connecting line between optional operation 612 anddecision operation 604. If no other network is detected after optionaloperation 612, processing moves to a calling process for furtheractions.

The operations included in process 600 are for illustration purposes.Automatically provisioning a communication device and/or applicationsbased on network connectivity and characteristics may be implemented bysimilar processes with fewer or additional steps, as well as indifferent order of operations using the principles described herein.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theembodiments. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims and embodiments.

1. A method to be executed at least in part in a computing device forproviding communications through multiple networks, the methodcomprising: detecting an available communication network; recognizingnetwork characteristics; upon detecting the available communicationnetwork, utilizing a prioritization scheme on a granular basis, theprioritization scheme based on the network characteristics toautomatically enable one of a plurality of available services providedby the available communication network, the network characteristicscomprising latency, time of day and billing characteristics for theplurality of available services provided by the available communicationnetwork, the plurality of available services comprising calling featuresand at least one of a voice communications service and a videocommunications service; automatically provisioning at least onecommunication application based on the available communication networkand the recognized network characteristics; detecting another availablecommunication network; automatically provisioning the at least onecommunication application based on the another communication network;and facilitating communication through the available network employingthe automatically provisioned communication application while retaininga union of functionality of both the available network and the anotheravailable network when the available network provides a communicationservice which is not provided by the another available communicationnetwork, the communication application being provisioned based onparameters pushed to the computing device by the available network, theprovisioning parameters including at least the following: acommunication channel, a communication format, a device identifier, auser identifier, and an activation of available features.
 2. The methodof claim 1, further comprising: performing an initial setup of thecommunication application prior to detecting the network, wherein theinitial setup is fully automated.
 3. The method of claim 1, furthercomprising: scanning available networks in response to one of: a changein user location, a change in time of day, a periodic scan timer, and achange in received signal strength; recognizing characteristics of anynewly detected networks; and automatically re-provisioning thecommunication application based on the recognized characteristics of thenewly detected networks.
 4. The method of claim 3, further comprising:prioritizing the newly detected networks to determine a preferrednetwork based on a default rule, the default rule comprising determiningthe preferred network based on a required service included in a cache ofprofiles maintained in the computing device, the required servicecomprising one or more of the following: a local communication service,a long distance communication service, a Private Branch Exchange (PBX)communication service, a peer-to-peer communication service and a videocapability service; and automatically re-provisioning the communicationapplication to facilitate communication through the preferred networkonly.
 5. The method of claim 3, further comprising: automaticallyre-provisioning the communication application to facilitatecommunication through a selected one of the newly detected networks; andaccepting an incoming communication request from any of the newlydetected networks.
 6. The method of claim 1, wherein the communicationincludes at least one from a set of: a phone call, a video call, aninstant message session, an online meeting, access to a downloadservice, and access to a network resource.
 7. The method of claim 1,wherein the available communication network includes one of: a cellularnetwork, a secure wireless network, an open wireless network, a wirednetwork, and a combination network.
 8. A computing device capable ofexecuting a communication application for providing communicationsthrough multiple networks, comprising: a memory; a data store; aprocessor coupled to the memory and the data store, wherein theprocessor is configured to execute program instructions for: performingan initial setup of the communication application; detecting one or moreavailable communication networks; recognizing network characteristics ofthe available communication networks; upon detecting the one or moreavailable communication networks, utilizing a prioritization scheme on agranular basis, the prioritization scheme based on the networkcharacteristics to automatically enable one of a plurality of availableservices provided by the one or more available communication networks,the network characteristics comprising latency, time of day and billingcharacteristics for the plurality of available services provided by theone or more available communication networks, the plurality of availableservices comprising calling features and at least one of a voicecommunications service and a video communications service; automaticallyprovisioning the communication application based on the preferred one ormore available communication networks and the recognized networkcharacteristics; and facilitating communication through the one or moreavailable communication networks employing the automatically provisionedcommunication application, the communication application beingprovisioned based on parameters pushed to the computing device by theone or more available communication networks, the provisioningparameters including at least the following: a communication channel, acommunication format, a device identifier, a user identifier, and anactivation of available features.
 9. The system of claim 8, wherein theprocessor is further configured to automatically provision and executeat least one other communication application associated for a differentavailable communication network.
 10. The system of claim 8, wherein theprocessor is further configured to one of: activate and turn off atleast one user interface component based on the automatic provisioningof the communication application.
 11. The system of claim 8, wherein thecommunication application is capable of facilitating a plurality of useridentities.
 12. The system of claim 8, wherein the computing device isone of: a smart phone, a personal digital assistant, a laptop computer,and a smart automobile console.
 13. The system of claim 8, wherein theprocessor is further configured to execute instructions for identifyingthe user to at least two communication networks with different accessprivileges and capabilities.
 14. A computer-readable storage device withcomputer-executable instructions stored thereon which, when executed bya computer, perform a method for providing communications throughmultiple networks, the method comprising: performing an initial setup ofa plurality of communication applications on a portable communicationdevice; scanning available communication networks in response to one of:a change in the portable communication device location, a change in timeof day, and a change in received signal strength; recognizingcharacteristics of any newly detected networks; upon detecting a newlydetected network, utilizing a prioritization scheme on a granular basis,the prioritization scheme based on the network characteristics toautomatically enable one of a plurality of available services providedby the newly detected network, the network characteristics comprisinglatency, time of day and billing characteristics for the plurality ofavailable services provided by the newly detected network, the pluralityof available services comprising calling features and at least one of avoice communications service and a video communications service;automatically provisioning one of the plurality of communicationapplications based on the newly detected network and the recognizedcharacteristics of the newly detected network; and facilitatingcommunication through the preferred newly detected network employing theautomatically provisioned communication application, the communicationapplication being provisioned based on parameters pushed to the portablecommunication device by the newly detected network, the provisioningparameters including at least the following: a communication channel, acommunication format, a device identifier, a user identifier, and anactivation of available features.
 15. The computer-readable storagedevice of claim 14, wherein the method further comprises: detectinganother communication network; recognizing the characteristics of theother communication network; automatically provisioning another of theplurality of communication applications based on the other communicationnetwork and the recognized characteristics of the other communicationnetwork; and facilitating communication through the other networkemploying the automatically provisioned other communication application.16. The computer-readable storage device of claim 14, wherein the methodfurther comprises: automatically re-provisioning one of the plurality ofcommunication applications anytime a communication network becomesavailable and its characteristics are recognized.